// 路由鉴权：鉴权，项目当中路由能不能被的权限的设置（某一个路由什么情况下可以访问、什么情况下不可以访问）
// import router from '@/router';
// import nprogress from 'nprogress';
// 引入进度条样式
import "nprogress/nprogress.css";
// 获取用户相关的小仓库内部token数据，去判断用户是否登陆成功
import useUserStore from "./store/modules/user";
import pinia from "./store";
let userStore = useUserStore(pinia);
console.log(userStore);
// 全局守卫：项目当中任意路由切换都会触发的钩子
// 全局前置守卫
// router.beforeEach(async(to:any,from:any,next:any)=>{
//     // 访问某一个路由之前的守卫
//     // to:你将要访问哪个路由
//     // from:你从哪个路由而来
//     // next：路由的放行函数
//     nprogress.start();
//     // 获取token,去判断用户登录还是未登录
//     let token=userStore.token()
//     // 获取用户名字
//     let username=userStore.username;
//     // 用户登录判断
//     if(token){
//         // 登陆成功，访问login，不能访问，指向首页
//         if(to.path=='/login'){
//             next({path:'/'})
//         }else {
//             // 登陆成功访问其余六个路由（登陆排除）
//             // 有用户信息
//             if(username){
//                 // 放行
//                 next()
//             }else{
//                 // 如果没有用户信息，在守卫这里发请求获取到了用户信息再放行
//                 try {
//                      // 获取用户信息
//                      await userStore.userInfo();
//                      // 放行
//                      next();
//                  }catch(error) {
//                      //token过期：获取不到用户信息了
//                      //用户手动修改本地存储token
//                      userStore.userLogout();
//                      next({path:'/login',query:{redirect:to.path}})
//                  }
//                 await userStore.userInfo();
//             }
//         }
//     }else{
//         // 用户未登录判断
//         if(to.path=='/login'){
//             next()
//         }else {
//             next({path:'/login',query:{redirect:to.path}})
//         }
//     }
//     next();
// })
// // 全局后置守卫
// router.afterEach((to:any,from:any)=>{
//     nprogress.done();
// })

// 第一个问题：任意路由切换实现进度条业务 --nprogress
// 第二个问题：路由鉴权（路由组件访问权限的设置）
// 全部路由组件：登录|404|任意路由|首页|数据大屏|权限管理（三个子路由）|数据大屏（四个子路由）

// 用户未登录：可以访问login,其余六个路由不能访问（指向login）
// 用户登陆成功：不可以访问login[指向首页]，其余的路由可以访问
